package it.orma.iridehr.entities;

import it.orma.iridehr.entities.azienda.Azienda;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

@Entity
@Table(name = "OPPORTUNITA")
public class Opportunita extends EntitaBase implements Serializable{
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "ID_OPPORTUNITA")
	private Long idOpportunita;

	@Column(name = "CODICE")
	private String codice;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DT_CHIUSURA")
	private Date dataChiusura;
	
	@Column(name = "NOME")
	private String nome;
	
	@Column(name = "DESCRIZIONE")
	private String descrizione;
	
	@Column(name = "PROGRESSIVO")
	private Long progressivo;
	
	@ManyToOne
	@JoinColumn(name = "ID_AZIENDA")
	private Azienda azienda;
	
	@Transient 
	public boolean aziendaNotDefined;
	
	@Transient 
	public boolean aziendaToBeDefined;	

	public Long getIdOpportunita() {
		return idOpportunita;
	}

	public void setIdOpportunita(Long idOpportunita) {
		this.idOpportunita = idOpportunita;
	}

	public String getCodice() {
		return codice;
	}

	public void setCodice(String codice) {
		this.codice = codice;
	}

	public Date getDataChiusura() {
		return dataChiusura;
	}

	public void setDataChiusura(Date dataChiusura) {
		this.dataChiusura = dataChiusura;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescrizione() {
		return descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	public Long getProgressivo() {
		return progressivo;
	}

	public void setProgressivo(Long progressivo) {
		this.progressivo = progressivo;
	}

	public Azienda getAzienda() {
		return azienda;
	}

	public void setAzienda(Azienda azienda) {
		this.azienda = azienda;
	}

	public boolean getAziendaNotDefined() {
		return aziendaNotDefined;
	}

	public void setAziendaNotDefined(boolean aziendaNotDefined) {
		this.aziendaNotDefined = aziendaNotDefined;
	}

	public boolean isAziendaToBeDefined() {
		return aziendaToBeDefined;
	}

	public void setAziendaToBeDefined(boolean aziendaToBeDefined) {
		this.aziendaToBeDefined = aziendaToBeDefined;
	}


}
